home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zunm2l.z / zunm2l
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZUUUUNNNNMMMM2222LLLL((((3333FFFF))))                                                          ZZZZUUUUNNNNMMMM2222LLLL((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZUNM2L - overwrite the general complex m-by-n matrix C with   Q * C if
  10.      SIDE = 'L' and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'C', or
  11.      C * Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS
  12.      = 'C',
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE ZUNM2L( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  16.                         )
  17.  
  18.          CHARACTER      SIDE, TRANS
  19.  
  20.          INTEGER        INFO, K, LDA, LDC, M, N
  21.  
  22.          COMPLEX*16     A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZUNM2L overwrites the general complex m-by-n matrix C with
  26.  
  27.      where Q is a complex unitary matrix defined as the product of k
  28.      elementary reflectors
  29.  
  30.            Q = H(k) . . . H(2) H(1)
  31.  
  32.      as returned by ZGEQLF. Q is of order m if SIDE = 'L' and of order n if
  33.      SIDE = 'R'.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      SIDE    (input) CHARACTER*1
  38.              = 'L': apply Q or Q' from the Left
  39.              = 'R': apply Q or Q' from the Right
  40.  
  41.      TRANS   (input) CHARACTER*1
  42.              = 'N': apply Q  (No transpose)
  43.              = 'C': apply Q' (Conjugate transpose)
  44.  
  45.      M       (input) INTEGER
  46.              The number of rows of the matrix C. M >= 0.
  47.  
  48.      N       (input) INTEGER
  49.              The number of columns of the matrix C. N >= 0.
  50.  
  51.      K       (input) INTEGER
  52.              The number of elementary reflectors whose product defines the
  53.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  54.              0.
  55.  
  56.      A       (input) COMPLEX*16 array, dimension (LDA,K)
  57.              The i-th column must contain the vector which defines the
  58.              elementary reflector H(i), for i = 1,2,...,k, as returned by
  59.              ZGEQLF in the last k columns of its array argument A.  A is
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZUUUUNNNNMMMM2222LLLL((((3333FFFF))))                                                          ZZZZUUUUNNNNMMMM2222LLLL((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              modified by the routine but restored on exit.
  75.  
  76.      LDA     (input) INTEGER
  77.              The leading dimension of the array A.  If SIDE = 'L', LDA >=
  78.              max(1,M); if SIDE = 'R', LDA >= max(1,N).
  79.  
  80.      TAU     (input) COMPLEX*16 array, dimension (K)
  81.              TAU(i) must contain the scalar factor of the elementary reflector
  82.              H(i), as returned by ZGEQLF.
  83.  
  84.      C       (input/output) COMPLEX*16 array, dimension (LDC,N)
  85.              On entry, the m-by-n matrix C.  On exit, C is overwritten by Q*C
  86.              or Q'*C or C*Q' or C*Q.
  87.  
  88.      LDC     (input) INTEGER
  89.              The leading dimension of the array C. LDC >= max(1,M).
  90.  
  91.      WORK    (workspace) COMPLEX*16 array, dimension
  92.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  93.  
  94.      INFO    (output) INTEGER
  95.              = 0: successful exit
  96.              < 0: if INFO = -i, the i-th argument had an illegal value
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.